package org.jeecg.modules.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.system.dto.DbanInformationDto;
import org.jeecg.modules.system.entity.DbanInformation;

import java.util.List;
import java.util.Map;

public interface IDbanInformationService extends IService<DbanInformation> {


    int saveBaseInformatinAndFile(DbanInformation dbanInformation);

    int editInformation(DbanInformation dbanInformation);

    Map<String,Object> getConditions(String type);

    boolean deleteById(Integer id);

    boolean submitInfo(Integer id, Integer status, String remark, Integer version);

    int addViewCount(Integer id);

    String deleteByPresident(Integer id);

    List<DbanInformation> checkRepeat(DbanInformation dbanInformationParam);

    int updateStatusBatch(Integer status, List<Integer> ids, String remark);

    int updateStatusById(Integer id, Integer status);

    int updateUserInfo();

    //==================================================================================================
    List<DbanInformation> queryDbanInformationByTop(Integer isTop);

    int updateDbanInformationTop(Integer id,
                                 Integer topId,
                                 Integer isTop);

    IPage<DbanInformation> queryBaseDbanInformationByTop(Integer pageNo,
                                                         Integer pageSize,
                                                         String type,
                                                         Integer isTop);

    IPage<DbanInformation> queryFiveOndDbanInformationByTop(Integer pageNo,
                                                            Integer pageSize,
                                                            String fiveOneType,
                                                            Integer isTop);

    List<DbanInformation> queryBaseDbanInformationByTopList(String type,
                                                            Integer isTop);

    IPage<DbanInformation> queryBaseResouceDbanInformation(Integer pageNo,
                                                           Integer pageSize,
                                                           String type,
                                                           Integer isTop);

    IPage<DbanInformation> queryFiveOneDbanInformation(Integer pageNo,
                                                       Integer pageSize,
                                                       String fiveOneType,
                                                       Integer isTop);

    IPage<DbanInformationDto> queryFiveOneTopDbanInformationByStatus(Integer pageNo,
                                                                     Integer pageSize,
                                                                     Integer mainCategory,
                                                                     String status,
                                                                     Integer isTop);
    //==================================================================================================

}
